package com.neuedu.javase.oo.myfinal;

/***
 * 项目名称:  MyJavaSE 
 * 包：  com.neuedu.javase.oo.myfinal 
 * date:   2025/10/24   13:41
 * 描述:    final 修饰的方法
 *  @author : 张金山
 *  作者博客:   https://blog.fulfill.com.cn
 */

/**
 * 模拟上课的过程
 */
public class FinalMethodsClass {

    //课程名称
    private String  className;

    public FinalMethodsClass(String className) {
        this.className = className;
    }

    //学校  规定 所有的上课的过程
    public final void  goToClass(){
        intoClass();
        atClass();
        outClass();
    }


    public void  intoClass(){
        System.out.println("1 进班级"+className);
    }
    //
    public void atClass(){
        System.out.println("2 真正的上课==普通的上课"+className);
    }

    public void outClass(){
        System.out.println("3 下课"+className);
    }


}


/**
 *
 */
class MathClass extends  FinalMethodsClass{

    public MathClass(String className) {
        super(className);
    }
}


class ComputerClass extends  FinalMethodsClass{

    public ComputerClass(String className) {
        super(className);
    }


    //final 修饰的类不能被override 重写
//    @Override
//    public void goToClass() {
//        atClass();
//    }

    @Override
    public void atClass() {
        super.atClass();
        System.out.println("\t2.1 使用计算机=============");
    }
}




class Runner{
    public static void main(String[] args) {
//        MathClass  mathClass = new MathClass("数学课");
//        //
//        mathClass.goToClass();




        ComputerClass  computerClass = new ComputerClass("计算机的课程");
        //
        computerClass.goToClass();
    }
}



